package com.twohand.admin.Service;

import com.twohand.admin.Dto.*;
import com.twohand.admin.Entity.Bill;
import com.twohand.admin.Util.PageResponse;
import com.twohand.admin.Vo.*;
import com.twohand.admin.Vo.Order.OrderStatisVo;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

public interface BillService {
    List<SelectOptions> getOptions();
    PageResponse<Bill> billList(BillListQueryDto billListQueryDto);

    Object addBill(Bill bill);
    Boolean changeBill(Bill bill);
    Boolean delOBill(Integer id);
    BillDetailVo getBillDetail(Integer id);
    BillDetailOrderVo getBillDetail(String billNo);
    BillDetailOption getBillOptions();
    PageResponse<BillSearchResult> getBillDetailList(BillDetailListDto billDetailListDto) throws ParseException;

    Object checkAndAddBill(List<BillInfoDto> billInfos);
    void updateShopForSid(Integer shopId);
    OrderStatisVo getOrderTotal(BillListQueryDto billListQueryDto);

    Boolean batchChangeStatus(BatchChangeStatusDto batchChangeStatusDto);
    List<Integer> getCurrentUserShopIds();

    Map batchChangeShop(BatchChangeShopDto batchChangeShopDto);
}
